<template>
  <div class="audition274">
    <p>
       如果是在隶属于原生js执行的空间，比如说setTimeout里面，setState是同步的，<br/>那么每次执行setState将立即更新this.state，然后触发render方法；<br/>因为是同步执行，可以直接获取改变后的值；
    </p>
    <p><br></p>
    <p>如果是在被react处理过的空间执行，比如说合成事件里，此时setState是异步执行的，<br/>并不会立即更新this.state的值，当执行setState的时候，会将需要更新的state放入状态队列，<br/>在这个空间最后再合并修改this.state，触发render；<br/>setState接受第二个参数，是一个回调函数，可以在这里获取改变后的state值；</p>
    <p><br></p>
    <p>触发render执行后，会生成一个新的虚拟dom结构，然后触发diff运算，找到变化的地方，重新渲染；</p>
  </div>
</template>

<script>
export default {
  name: 'Audition274'
}
</script>

<style>

</style>